package cn.iocoder.yudao.hires.service;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.hires.entity.ResumeMainDO;
import cn.iocoder.yudao.hires.vo.ResumeMainPageReqVO;
import cn.iocoder.yudao.hires.vo.ResumeMainSaveReqVO;

import javax.validation.Valid;
import java.util.List;
import java.util.Map;

public interface ResumeMainService {


    /**
     * 创建简历-求职意向
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Integer createMain(@Valid ResumeMainSaveReqVO createReqVO);

    /**
     * 更新简历-求职意向
     *
     * @param updateReqVO 更新信息
     */
    void updateMain(@Valid ResumeMainSaveReqVO updateReqVO);

    /**
     * 删除简历-求职意向
     *
     * @param id 编号
     */
    void deleteMain(Integer id);

    /**
     * 获得简历-求职意向
     *
     * @param id 编号
     * @return 简历-求职意向
     */
    ResumeMainDO getMain(Integer id);

    /**
     * 获得简历-求职意向分页
     *
     * @param pageReqVO 分页查询
     * @return 简历-求职意向分页
     */
    PageResult<ResumeMainDO> getMainPage(ResumeMainPageReqVO pageReqVO);

    /**
     * 获取简历详情
     *
     * @param id
     * @return
     */
    Map<String, Object> getDetail(Integer id, String intentionPost, Integer tenantId);


    /**
     * 根据职位id  获取简历数据
     *
     * @param categoryId 职位字典id
     * @return 简历数据
     */
    List<Map<String, Object>> resumeLibrary(Integer categoryId);

}
